home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #250 (1993)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #250 (1993)(Rhein-Sieg-Soft).adf
/
Z80
/
Z80Hilfe.txt
< prev
Wrap
Text File
|
1993-08-10
|
14KB
|
484 lines
\language\{Deutsch}
\title\{Transportbefehle für 8 Bit}
\subtitle\{LD d,s}
\text\{Kopiert 8-Bit-Daten von s nach d.
d kann sein: A,B,C.D,E,H,L, (HL), (IX+e) und (IY+e)
s kann sein: A,B,C,D,E,H,L, (HL), (IX+e), (IY+e) und n.}
\subtitle\{LD A,(ss)}
\text\{Kopiert den Inhalt der Speicherzelle, die durch das
Registerpaar ss adressiert wird, in das Register A.
ss kann sein: (BC), (DE), (HL) und (nn).
\newline\
Bemerkung: (nn) ist ein Zeiger auf einen Speicherbereich!}
\subtitle\{LD (ss),A}
\text\{Kopiert den Inhalt von A in die Speicherzelle, die durch das
Registerpaar ss angegeben wird.
ss kann sein: (BC), (DE), (HL) und (nn).
\newline\
Bemerkung: (nn) ist ein Zeiger auf einen Speicherbereich!}
\subtitle\{LD A,I}
\text\{Kopiert den Inhalt des Interruptvektor-Registers in das Register A.}
\subtitle\{LD A,R}
\text\{Kopiert den Inhalt des Refresh-Registers in das Register A.}
\subtitle\{LD I,A}
\text\{Kopiert den Inhalt von Register A in das Interruptvektor-Register.}
\subtitle\{LD R,A}
\text\{Kopiert den Inhalt von Register A in das Refresh-Register.}
\title\{Transportbefehle für 16 Bit}
\subtitle\{LD dd,nn}
\text\{Kopiert den 16-Bit-Wert nn in das Register dd.
dd kann sein: BC, DE, HL, SP, IX und IY.}
\subtitle\{LD dd,(nn)}
\text\{Kopiert den Wert, der in der Speicherzelle nn
und in der Speicherzelle nn+1 steht, in das Registerpaar dd.
dd kann sein: BC, DE, HL, SP, IX und IY.
\newline\
Beispiel: LD HL,(0C000H)
Das Byte, das sich an der Adresse 0C000H bfindet, wird in
das Register L kopiert. Das darauffolgende Byte (0C001H)
wird in das Register H kopiert.}
\subtitle\{LD (nn),ss}
\text\{Kopiert den Inhalt des Registerpaars ss in die zwei
aufeinanderfolgende Speicherzellen nn und nn+1.
ss kann sein: BC, DE, HL, SP, IX und IY.
\newline\
Beispiel: LD (0C000H),HL
Der Inhalt des Registers H wird in die Speicherzelle mit der
Adresse 0C001H geschrieben, der Inhalt des Registers L wird
in die Speicherzelle 0C000H geschrieben.}
\subtitle\{LD SP,ss}
\text\{Kopiert den Inhalt des Registerpaars ss in das
Registerpaar SP.
ss kann sein: HL, IX und IY.}
\subtitle\{PUSH gg}
\text\{Speichert den Inhalt des Registerpaars gg auf dem
Stack ab.
gg kann sein: BC, DE, HL, AF, IX und IY.}
\subtitle\{POP gg}
\text\{Ladet das Registerpaar gg mit den Daten, die auf
dem Stack abgespeichert wurden.
gg kann sein: BC, DE, HL, AF, IX und IY.}
\title\{Eingabe- und Ausgabebefehle}
\subtitle\{IN A,(n)}
\text\{Der Inhalt der IO-Adresse n wird nach A kopiert.}
\subtitle\{IN d,(C)}
\text\{Der Inhalt der IO_Adresse, die durch das Register C adressiert wird,
wird nach d kopiert. d kann sein: A, B, C, D, E, H und L.}
\subtitle\{INI}
\text\{Keine Informationen vorhanden!}
\subtitle\{INIR}
\text\{Keine Informationen vorhanden!}
\subtitle\{IND}
\text\{Keine Informationen vorhanden!}
\subtitle\{INDR}
\text\{Keine Informationen vorhanden!}
\subtitle\{OUT (n),A}
\text\{Der Inhalt des Registers A wird im IO-Bereich, auf der Adresse n
ausgegeben.}
\subtitle\{OUT (C),s}
\text\{Der Inhalt des Registers s wird im IO-Bereich, auf der Adresse, die
durch das Register C adressiert wird, ausgegeben.}
\subtitle\{OUTI}
\text\{Keine Informationen vorhanden!}
\subtitle\{OTIR}
\text\{Keine Informationen vorhanden!}
\subtitle\{OUTD}
\text\{Keine Informationen vorhanden!}
\subtitle\{OTDR}
\text\{Keine Informationen vorhanden!}
\title\{Exchange-, Blocktransfer- und Suchbefehle}
\subtitle\{EX DE,HL}
\text\{Tauscht den Inhalt der beiden Registerpaare DE und HL.}
\subtitle\{EX AF,AF`}
\text\{Tauscht den Inhalt der beiden Doppelregister AF und AF`.}
\subtitle\{EXX}
\text\{Tauscht den Inhalt folgender Dopelregister:
BC mit BC`
DE mit DE` und
HL mit HL`.}
\subtitle\{EX (SP),HL}
\text\{Tauscht den Inhalt des Doppelregisters HL mit dem Inhalt
des Stacks. Nach dem Aufruf enthält H=SP+1 und L=SP.
Der Stack enthält dagegen den Inhalt von HL.
SP+1=H und SP=L.}
\subtitle\{EX (SP),IX}
\text\{Tauscht den Inhalt des Doppelregisters IX mit dem Inhalt
des Stacks.}
\subtitle\{EX (SP),IY}
\text\{Tauscht den Inhalt des Doppelregisters IY mit dem Inhalt
des Stacks.}
\subtitle\{LDI}
\text\{Keine Informationen vorhanden!}
\subtitle\{LDIR}
\text\{Keine Informationen vorhanden!}
\subtitle\{LDD}
\text\{Keine Informationen vorhanden!}
\subtitle\{LDDR}
\text\{Keine Informationen vorhanden!}
\subtitle\{CPI}
\text\{Keine Informationen vorhanden!}
\subtitle\{CPIR}
\text\{Keine Informationen vorhanden!}
\subtitle\{CPD}
\text\{Keine Informationen vorhanden!}
\subtitle\{CPDR}
\text\{Keine Informationen vorhanden!}
\title\{Arithmetische und logische Befehle für 8 Bit}
\subtitle\{ADD A,s}
\text\{Addiert den Inhalt von s zum Inhalt von A und speichert das
Ergebnis in A ab.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
\newline\
(HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
\subtitle\{ADD A,n}
\text\{Addiert n zum Inhalt von A und speichert das
Ergebnis in A ab.}
\subtitle\{ADC A,s}
\text\{Addiert den Inhalt von s unter Beachtung des Carryflags zum
Inhalt von A und speichert das Ergebnis in A ab.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
\newline\
(HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
\subtitle\{ADC A,n}
\text\{Addiert n unter Beachtung des Carryflags zum Inhalt von A und
speichert das Ergebnis in A ab.}
\subtitle\{SUB s}
\text\{Subtrahiert den Inhalt von s zum Inhalt von A und speichert das
Ergebnis in A ab.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
\newline\
(HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
\subtitle\{SUB n}
\text\{Subtrahiert n zum Inhalt von A und speichert das
Ergebnis in A ab.}
\subtitle\{SBC A,s}
\text\{Subtrahiert den Inhalt von s unter Beachtung des Carryflags
zum Inhalt von A und speichert das Ergebnis in A ab.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).
\newline\
(HL) bedeutet: Inhalt der Speicherzelle, auf die HL zeigt.}
\subtitle\{SBC A,n}
\text\{Subtrahiert n unter Beachtung des Carryflags zum Inhalt von A und speichert das
Ergebnis in A ab.}
\subtitle\{AND s}
\text\{Verknüpft das Register A und s durch logisch UND.
s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
\subtitle\{OR s}
\text\{Verknüpft das Register A und s durch logisch ODER. s kann sein:
A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
\subtitle\{XOR s}
\text\{Verknüpft das Register A und s durch logisch Exklusiv-Oder.
s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
\subtitle\{CP s}
\text\{Vergleicht das Register A und s auf Gleichheit.
s kann sein: A, B, C, D, E, H, L, (HL), n, (IX+e) und (IY+e).}
\subtitle\{INC s}
\text\{Erhöht s um 1.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
\subtitle\{DEC s}
\text\{Erniedrigt s um 1.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
\title\{Arithmetische Befehle für 16 Bit}
\subtitle\{ADD HL,ss}
\text\{Addiert den Inhalt von ss zum Doppelregister HL und speichert
das Ergebnis in HL ab.
ss kann sein: BC, DE, HL und SP.}
\subtitle\{ADC HL,ss}
\text\{Addiert den Inhalt von ss unter Beachtung des Carryflags zum
Doppelregister HL und speichert das Ergebnis in HL ab.
HL = HL+ss+CFL.
ss kann sein: BC, DE, HL und SP.}
\subtitle\{SBC HL,ss}
\text\{Subtrahiert den Inhalt von ss unter Beachtung des Carryflags
vom Doppelregister HL und speichert das Ergebnis in HL ab.
HL = HL-ss-CFL.
ss kann sein: BC, DE, HL und SP.}
\subtitle\{ADD IX,ss}
\text\{Addiert den Inhalt von ss zum
Doppelregister IX und speichert das Ergebnis in IX ab.
IX = IX+ss.
ss kann sein: BC, DE, IX und SP.}
\subtitle\{ADD IY,ss}
\text\{Addiert den Inhalt von ss zum
Doppelregister IY und speichert das Ergebnis in IY ab.
IY = IY+ss.
ss kann sein: BC, DE, IY und SP.}
\subtitle\{INC ss}
\text\{Erhöht ss um 1.
ss kann sein: BC, DE, HL, IX, IY und SP.}
\subtitle\{DEC ss}
\text\{Erniedrigt ss um 1.
ss kann sein: BC, DE, HL, IX, IY und SP.}
\title\{Rotier- und Shiftbefehle}
\subtitle\{RLCA}
\text\{A wird um eine Stelle nach links verschoben. Das "überlaufende"
siebte Bit kommt in das Carryflag und außerdem an die Bitstelle 0.}
\subtitl\{RLA}
\text\{A wird um eine Stelle nach links verschoben. Das "überlaufende"
siebte Bit kommt in das Carryflag. Das Bit im Carryflag kommt an die
Bitstelle 0.}
\subtitle\{RRCA}
\text\{A wird um eine Stelle nach rechts verschoben. Die Bitstelle 0
kommt in das Carryflag und außerdem an die Bitstelle 7.}
\subtitle\{RRA}
\text\{A wird um eine Stelle nach rechts verschoben. Die Bitstelle 0
kommt in das Carryflag. Das Bit im Carryflag kommt an die Bitstelle 7.}
\subtitle\{RLC s}
\text\{Das Register s wird um eine Stelle nach links verschoben. Das
"überlaufende" siebte Bit kommt in das Carryflag und außerdem
an die Bitstelle 0.
s kann sein: A, B, C, D, E, H, L, (HL),
(IX+e) und (IY+e).}
\subtitle\{RL s}
\text\{Das Registers s wird um eine Stelle nach links verschoben. Das
"überlaufende" siebte Bit kommt in das Carryflag. Das Bit im Carryflag
kommt an die Bitstelle 0.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
\subtitle\{RRC s}
\text\{Das Register s wird um eine Stelle nach rechts verschoben.
Die Bitstelle 0 kommt in das Carryflag und außerdem an die
Bitstelle 7.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
\subtitle\{RR s}
\text\{Das Register s wird um eine Stelle nach rechts verschoben.
Die Bitstelle 0 kommt in das Carryflag. Das Bit im Carryflag
kommt an die Bitstelle 7.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) und (IY+e).}
\subtitl\{SLA s}
\text\{Register s wird um eine Stelle nach links verschoben.
Das "überlaufende" siebte Bit kommt in das Carryflag. Das Bit
im Carryflag geht verloren, die Bitstelle 0 wird durch eine Null
aufgefüllt.}
\subtitle\{SRA s}
\text\{Register s wird um eine Stelle nach rechts verschoben.
Bitstelle 7 bleibt unverändert. Bitstelle 0 wird in das Carryflag
geschoben. Das Bit im Carryflag geht verloren.}
\subtitle\{RLD}
\text\{Keine Informationen vorhanden.}
\subtitle\{RRD}
\text\{Keine Informationen vorhanden.}
\title\{Einzelbitbefehle}
\subtitle\{BIT b,s}
\text\{Das Zeroflag wird je nach Zustand des Bits b gesetzt oder
gelöscht.
b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
\subtitle\{SET b,s}
\text\{Im Register s wird das Bit b auf 1 gesetzt.
b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
\subtitle\{RES b,s}
\text\{Im Register s wird das Bit b gelöscht.
b kann sein: 0, 1, 2, 3, 4, 5, 6 oder 7.
s kann sein: A, B, C, D, E, H, L, (HL), (IX+e) oder (IY+e).}
\title\{Verzweigungs- und Sprungbefehle}
\subtitle\{JP nn}
\text\{Springt an die absolute Adresse nn.}
\subtitle\{JP cc,nn}
\text\{Wenn cc wahr ist, erfolgt ein Sprung an die absolute
Adresse nn.
cc kan sein:
NZ (Not Zero) = ungleich Null.
Z (Zero) = gleich Null.
C (Carry) = Überlaufbit.
PO (Parity odd) = ungerade.
PE (Parity Even) = gerade.
P (Plus) = positives Vorzeichen.
M (Minus) = negatives Vorzeichen.}
\subtitle\{JR e}
\text\{Sprung über die Vorzeichenbehaftete Distanz e. e ist ein
8-Bit-Wert, dadurch sind nur Sprünge über Distanzen von
max. 128 Bytes möglich.}
\subtitle\{JR cc,e}
\text\{Wenn cc wahr ist, erfolgt ein sprung über die
Vorzeichenbehaftete Distanz e. e ist ein 8-Bit-Wert, dadurch sind
nur Sprünge über Distanzen von max. 128 Bytes möglich.
cc kan sein:
NZ (Not Zero) = ungleich Null.
Z (Zero) = gleich Null.
NC (Not Carry) = kein Überlauf.
C (Carry) = Überlauf.}
\subtitle\{JP (HL)}
\text\{Sprung and die Adresse, die im Register HL steht.}
\subtitle\{JP (IX)}
\text\{Sprung and die Adresse, die im Register IX steht.}
\subtitle\{JP (IY)}
\text\{Sprung and die Adresse, die im Register IY steht.}
\subtitle\{DJNZ e}
\text\{Dekrementiert den Inhalt des Registers B und springt dann über
die Distanz e solange B ungleich Null ist. Achtung: e ist ein
8-Bit-Wert. Deshalb kann max. nur eine Distanz von +/- 128 Bytes
übersprungen werden. Wenn Register B zu Null wird, wird der
darauffolgende Befehl ausgeführt.}
\title\{Unterprogrammbefehle}
\subtitle\{CALL nn}
\text\{Sprung an die Adresse nn. Vorher wird die Rücksprungadresse
auf dem Stack abgespeichert. (Rücksprung dann durch RET oder RET cc).}
\subtitle\{CALL cc, nn}
\text\{Wenn cc wahr ist, erfolgt ein Sprung an die absolute Adresse nn.
Vorher wird die Rücksprungadresse auf dem Stack abgespeichert.
(Rücksprung dann durch RET oder RET cc).
cc kan sein:
NZ (Not Zero) = ungleich Null.
Z (Zero) = gleich Null.
C (Carry) = Überlaufbit.
PO (Parity odd) = ungerade.
PE (Parity Even) = gerade.
P (Plus) = positives Vorzeichen.
M (Minus) = negatives Vorzeichen.}
\subtitle\{RETI}
\text\{Rücksprung bei auftreten eines Interrupts im Interruptprogramm.}
\subtitle\{RETN}
\text\{Rücksprung bei auftreten eines Nicht Maskierbaren Interrupts
(non maskable interrupt) im Interruptprogramm.}
\subtitle\{RST a}
\text\{Unterprogrammaufruf bei der durch a festgelegten Adresse.
a kann sein:
0 oder 00 -> Startadresse steht in 00H.
1 oder 08 -> Startadresse steht in 08H.
2 oder 10 -> Startadresse steht in 10H.
3 oder 18 -> Startadresse steht in 18H.
4 oder 20 -> Startadresse steht in 20H.
5 oder 28 -> Startadresse steht in 28H.
6 oder 30 -> Startadresse steht in 30H.
7 oder 38 -> Startadresse steht in 38H.}
\title\{CPU-Steuerbefehle}
\subtitle\{DAA}
\text\{Wandelt den Inhalt des Registers A in die gepackte BCD-Darstelllung
um.}
\subtitle\{CPL}
\text\{Invertiert Register A. (Einerkomplement)}
\subtitle\{NEG}
\text\{Negiert Register A. (Zweierkomplement)}
\subtitle\{CCF}
\text\{Invertiert das Carryflag.}
\subtitle\{SCF}
\text\{Setzt das Carryflag auf 1.}
\subtitle\{NOP}
\text\{Leerbefehl, es wird keine Operation ausgeführt.}
\subtitle\{HALT}
\text\{Prozessor wird angehalten. Der Refresh wird trotzdem weiter
ausgeführt. Aktivierung erfolgt dann wieder durch einen Interrupt.}
\subtitle\{DI}
\text\{Interrupt verbieten.}
\subtitle\{EI}
\text\{Interrupt zulassen.}
\subtitle\{IM0}
\text\{Interruptmodus 0 wird aktiviert.}
\subtitle\{IM1}
\text\{Interruptmodus 1 wird aktiviert.}
\subtitle\{IM2}
\text\{Interruptmodus 2 wird aktiviert.}